home *** CD-ROM | disk | FTP | other *** search
- /*
- File: OpenTptDevSerial.h
-
- Contains: Definition of the Serial Family and Group objects
-
- Copyright: © 1994-1995 by Apple Computer, Inc., all rights reserved.
-
-
- */
-
- #ifndef __OPENTPTDEVSERIAL__
- #define __OPENTPTDEVSERIAL__
-
- #ifdef __cplusplus
- #ifndef __OPENTPTMODULECLASSES__
- #include <OpenTptModuleClasses.h>
- #endif
- #else
- #ifndef __OPENTPTMODULE__
- #include <OpenTptModule.h>
- #endif
- #endif
- #ifndef __OPENTPTSERIAL__
- #include <OpenTptSerial.h>
- #endif
-
- #if defined(__MWERKS__) && GENERATING68K
- #pragma pointers_in_D0
- #endif
-
- /*******************************************************************************
- ** Configuration Structure
- ********************************************************************************/
-
- enum
- {
- kSerialPrefsVersion = 1,
- kSerialConfigVersion = 1,
- kSerialConfigIndex = 0,
- kSerialNumGenerics = 4
- };
-
- struct SerialPreferences
- {
- OTPreferencesFields(1);
- };
-
- struct SerialConfig
- {
- UInt16 fVersion;
- UInt16 fFiller;
- UInt32 fBaudRate;
- UInt16 fHandshake;
- UInt8 fOnChar;
- UInt8 fOffChar;
- UInt8 fDataBits;
- UInt8 fStopBits;
- UInt8 fParity;
- UInt8 fPEChar;
- UInt8 fPECharAlternate;
- UInt8 fExtClockDivisor;
- Boolean fBurstMode;
- UInt8 fUsePECharAlternate;
- UInt8 fFillerBytes[2];
- OTTimeout fRcvTimeout;
- size_t fRcvBufSize;
- size_t fSndBufSize;
- size_t fRcvLoWat;
- size_t fSndLoWat;
- };
-
- struct TSerialFamily;
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- TSerialFamily* OTGetSerialFamily();
-
- #ifdef __cplusplus
- }
- #endif
-
-
- /*******************************************************************************
- ** TSerialFamily
- ********************************************************************************/
-
- #ifdef __cplusplus
-
- #if GENERATING68K || MPS_USES_ASLM
- #define kTSerialFamilyID kOTKernelPrefix "SrlFmly,1.0"
- #endif
-
- class TSerialFamily : public TStreamFamily
- {
- public:
- _CT TSerialFamily();
- virtual _DT TSerialFamily();
-
- static TSerialFamily* _CDECL GetFamily();
-
- virtual OTUnixErr _MDECL CreateDefaultPreferences(OTPortRef, void** prefPtr);
-
- private:
- static TSerialFamily* gSerialFamily;
- };
-
- /*******************************************************************************
- ** TSerialGroup
- ********************************************************************************/
-
- #if GENERATING68K || MPS_USES_ASLM
- #define kTSerialGroupID kOTKernelPrefix "SrlGrp,1.0"
- #endif
-
- class TSerialGroup : public TStreamGroup
- {
- public:
- _CT TSerialGroup(const char*);
- virtual _DT TSerialGroup();
-
- void GetSerialPreferences(SerialConfig**);
- };
-
- /* -------------------------------------------------------------------------
- Inline methods for TSerialGroup
- ------------------------------------------------------------------------- */
-
- inline void TSerialGroup::GetSerialPreferences(SerialConfig** cfigPtr)
- {
- GetFamily()->GetPreferences(fPort, kSerialConfigIndex, (void**)cfigPtr);
- }
-
- #endif
-
- #if defined(__MWERKS__) && GENERATING68K
- #pragma pointers_in_A0
- #endif
-
- #endif
-